package com.cater.sys.service;

import java.util.List;

import com.cater.common.PageResult;

/**
 * @author 作者: yy
 * @date 创建时间：2017年2月28日 下午2:45:37
 * @version 1.0
 * @param <D>
 * @param <T>
 * @param <Q>
 * @param <PK>
 */
public interface BaseService<T, Q, PK> {
	/**
	 * 获取分页列表
	 * 
	 * @param query
	 * @return
	 */
	PageResult<T> findPageResult(Q query);

	/**
	 * 获取所有数据
	 * 
	 * @return
	 */
	List<T> getAll();

	/**
	 * 根据权限获取数据
	 * 
	 * @param query
	 * @return
	 */
	List<T> getAllCommon(Q query);

	/**
	 * 保存
	 * 
	 * @param t
	 * @return
	 */
	int save(T t);

	/**
	 * 保存
	 * 
	 * @param t
	 * @return
	 */
	String saves(T t);

	/**
	 * 修改
	 * 
	 * @param t
	 */
	void update(T t);

	/**
	 * 删除
	 * 
	 * @param t
	 */
	void delete(String id);

	/**
	 * 获取单条数据
	 * 
	 * @return
	 */
	T getById(String id);

}
